package br.edu.unifei.cct720.trabalho05.gui.painel;

import javax.swing.JCheckBox;

import br.edu.unifei.cct720.trabalho05.utils.constantes.Constantes;

public class PainelSombreamento extends javax.swing.JPanel {

	/**
	 * Construtor
	 */
	public PainelSombreamento() {
		super();
		this.initComponents();
	}

	/**
	 * Metodo responsavel pela inicializacao e disposicao
	 * dos elementos no painel
	 * 
	 * @return void
	 */
	public void initComponents() {
		// Inicializando os componentes da GUI
		checkSombreamentos = new JCheckBox[Constantes.TIPOS_SOMBREAMENTO.length];
		for(int i = 0; i < checkSombreamentos.length; i++) {
			checkSombreamentos[i] = new javax.swing.JCheckBox();
			checkSombreamentos[i].setText(Constantes.TIPOS_SOMBREAMENTO[i]);
			checkSombreamentos[i].setEnabled(false);
			this.add(checkSombreamentos[i]);
		}
	}
	
	/**
	 * Metodo responsavel por habilitar as acoes do painel
	 * definidas
	 * 
	 * @param String[] funcoes
	 * 
	 * @return void
	 */
	public void habilitaFuncoes(String[] funcoes) {
		for(String f : funcoes) {
			for(int i = 0; i < checkSombreamentos.length; i++) {
				if(checkSombreamentos[i].getText().equals(f)) {
					checkSombreamentos[i].setEnabled(true);
				}
			}
		}
	}
	
	/**
	 * Metodo responsavel por desabilitar todas as acoes
	 * do painel
	 * 
	 * @return void
	 */
	public void desabilitarFuncoes() {
		for(int i = 0; i < checkSombreamentos.length; i++) {
			checkSombreamentos[i].setSelected(false);	
			checkSombreamentos[i].setEnabled(false);
		}
	}

	// Declaracao das variaveis locais
	private javax.swing.JCheckBox[] checkSombreamentos;

	// Metodos getters e setters
	public javax.swing.JCheckBox[] getCheckSombreamentos() {
		return checkSombreamentos;
	}
}
